Robotic devices have attained widespread use in the manufacturing environment in both assembly processes and work processes. Common types of robotic assembly processes include the population of printed circuit boards and other pick and place operations. Common types of work processes include robotic welding, cutting, grinding, glueing and the like.
Robotic devices require programming to perform the movements to carry out such processes. One method of programming includes manipulation of a robotic device with a numerical controller to step through an operation. In particular, an operator uses a numerical controller to slowly step the robotic device through the operations that the robotic device will perform on a repetitive basis. The operator then stores the appropriate set of steps for later execution.
To carry out the numerical controller programming, the operator typically sets up a work cell that includes the robot to be used, a sample work piece, and appropriate fixturing. The above-described programming technique is adequate for highly repetitive operations. Such as small electronic component manufacturing, automotive manufacturing and the like. However, the numerical programming technique has significant drawbacks in less repetitive operations, for example, large structural operations.
In particular, many large structural operations, such as ship, bridge, building and aircraft construction do not have assembly and work processes that are highly repetitive. As a result, the cost associated with developing a work cell numerical programming environment for robotic processes in such large structural operations cannot be easily recovered. Because robotic process programming is not cost effective, potentially dangerous and costly manual labor is often selected for work processes in large structural operations.
One potential solution to the problems presented by maintaining a work cell to develop numerical programming for a robotic process is the use of offline robotic programming systems. Offline robotic programming systems allow the movement of the robot, or robotic path plan, to be developed without actual movement of the robot. One method of carrying out offline robotic programming is to use computer simulation to simulate the work cell programming environment. In particular, such a method allows the operator to step through a robotic program using a computer-simulated robot and a computer-simulated work piece. The offline robotic programming system therefore does not require the manipulation of an actual workpiece in its associated fixturing devices.
Another offline robotic programming system is shown in U.S. Pat. No. 5,511,147 to Abdel-Malek. U.S. Pat. No. 5,511,147 shows a system in which an operator defines points in Cartesian space that represent travel points of the robot in a process. In other words, the operator defines the robotic path plan on a computer file by pointing to various start and stop points. The computer system then automatically generates the robotic kinematics, or in other words, converts the robotic path plan from Cartesian space to robotic space.
The above systems, while somewhat automating the process of robotic path planning, still fail to solve adequately the problems posed by large structural operations having low process repetition rates. Accordingly, there exists a need for an offline planning system and method that increases the automation of the generation of robotic process programs.